import mysql.connector

#使用with上下文管理协议
class UseDatabase:

    ##构建类对象时调用
    def __init__(self,config:dict):
        self.configuration=config
        pass
    #with语句进入时调用
    def __enter__(self)->'cursor':
        self.conn=mysql.connector.connect(**self.configuration)
        self.cursor=self.conn.cursor()
        return self.cursor

    #with块结束时调用
    def __exit__(self,exc_type,exc_value,exc_trace)->None:
        self.conn.commit()
        self.cursor.close()
        self.conn.close()